package com.fanghaoran.notes.dao;

import com.fanghaoran.notes.entity.Cart;

import java.sql.SQLException;
import java.util.List;

/**
 * @Author: win11
 * @Date: 2023/04/22/14:04
 * @Description: 购物车dao层
 */
public interface CartDao {
    /**
     * 购物车数据库层
     * @param uId 用户id
     * @param pId 商品id
     * @return 返回查询结果
     * @throws Exception 异常
     */
    List<Cart> selectCartByUidAndPid(int uId, int pId) throws Exception;

    /**
     * 插入购物车数据
     * @param cart 购物车数据
     * @return 返回插入结果
     * @throws Exception 异常
     */
    Integer insertCart(Cart cart) throws Exception;

    /**
     * 更新购物车数据
     * @param cart 更新后的购物车数据
     * @return 返回更新结果
     * @throws SQLException 异常
     */
    Integer updateCart(Cart cart) throws SQLException;

    /**
     * 查询购物车数据(通过用户id)
     * @param uId 用户id
     * @return 返回查询结果
     * @throws Exception 异常
     */
    List<Cart> selectCartByUid(int uId) throws Exception;

    /**
     * 删除购物车数据(根据商品id)
     * @param pId 要删除的商品id
     * @return 返回删除结果
     * @throws SQLException 异常
     */
    Integer deleteCartByPid(int pId) throws SQLException;

    /**
     * 删除某个用户的购物车数据(清空购物车)
     * @param uId 用户id
     * @return 返回删除结果
     * @throws SQLException 异常
     */
    Integer deleteCartByUid(int uId) throws SQLException;
}
